package mylab.starters.dag.task;

import java.util.Map;
import java.util.Set;

import mylab.base.foundation.lang.Callback;
import mylab.starters.dag.DagResult;
import mylab.starters.dag.TaskResult;

public interface EngineCallback extends TaskLogCallback, Callback<DagResult> {

    void onEngineBegin(String engineId);

    void onEnginEnd(String engineId, Map<String, TaskResult<?>> resultMap);

    void onTaskBegin(String taskId, Set<Object> parameters, Set<TaskResult<?>> dependentTaskResults);

    void onTaskEnd(String taskId, TaskResult<?> taskResult);

}
